package com.snail.model.dto;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author ysc
 * @descrpiton 前端用户提交的作业数据
 * @date 2025/7/23 14:57
 **/
@Data
public class UserTestSubmitDTO {
    private Integer totalQuestions;   // 总题目数
    private Integer correctCount;     // 答对题数
    private BigDecimal score;         // 分数（百分制）
    private  String testName; //测试，作业的名字
    /**
     * 会话开始时间，默认当前时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date startTime;

    /**
     * 会话结束时间（提交时间），NULL表示未完成
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date endTime;


    private List<QuestionAnswerDTO> answers; //用户答题的细节
    @Data
    public static class QuestionAnswerDTO {
        private Long questionId; //题目的id ,可以根据表biz_question 表查到题目和答案
        private String userAnswer; //用户的答案
        private BigDecimal testScore; //本题的得分情况
    }


}
